package net.lanelife.casino.caipiao.entity.statistics.support;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.MappedSuperclass;

import net.lanelife.casino.common.entity.support.PersistableEntity;

@MappedSuperclass
public abstract class BaseStatistics<PK extends Serializable> extends PersistableEntity<PK> {
	
	private static final long serialVersionUID = -6521386524528441613L;

	// ================================= 充提信息 =================================

	// ------ 在线支付 ------
	
	@Column(name = "RECHARGE_TIMES_P", nullable = false, columnDefinition = "BIGINT(20) NOT NULL DEFAULT 0")
	protected Long rechargeTimesOfPayment = 0L;

	@Column(name = "RECHARGE_TOTAL_P", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double rechargeTotalOfPayment = 0D;

	@Column(name = "RECHARGE_FEE_P", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double rechargeFeeOfPayment = 0D;
	
	// ------ 网银转账 ------
	
	@Column(name = "RECHARGE_TIMES_T", nullable = false, columnDefinition = "BIGINT(20) NOT NULL DEFAULT 0")
	protected Long rechargeTimesOfTransfer = 0L;

	@Column(name = "RECHARGE_TOTAL_T", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double rechargeTotalOfTransfer = 0D;

	@Column(name = "RECHARGE_FEE_T", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double rechargeFeeOfTransfer = 0D;
	
	// ------ 提款申请 ------
	
	@Column(name = "WITHDRAW_TIMES_APPLY", nullable = false, columnDefinition = "BIGINT(20) NOT NULL DEFAULT 0")
	protected Long withdrawTimesOfApply = 0L;

	@Column(name = "WITHDRAW_TOTAL_APPLY", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double withdrawTotalOfApply = 0D;

	// ------ 提款通过 ------
	
	@Column(name = "WITHDRAW_TIMES_ACCEPT", nullable = false, columnDefinition = "BIGINT(20) NOT NULL DEFAULT 0")
	protected Long withdrawTimesOfAccept = 0L;

	@Column(name = "WITHDRAW_TOTAL_ACCEPT", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double withdrawTotalOfAccept = 0D;
	
	@Column(name = "WITHDRAW_FEE_ACCEPT", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double withdrawFeeOfAccept = 0D;
	
	@Column(name = "WITHDRAW_BANK_FEE_ACCEPT", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double withdrawBankFeeOfAccept = 0D;
	
	// ------ 提款拒绝 ------
	
	@Column(name = "WITHDRAW_TIMES_REJECT", nullable = false, columnDefinition = "BIGINT(20) NOT NULL DEFAULT 0")
	protected Long withdrawTimesOfReject = 0L;

	@Column(name = "WITHDRAW_TOTAL_REJECT", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double withdrawTotalOfReject = 0D;
	
	// ------ 转账申请 ------
	
	@Column(name = "TRANSFER_TIMES_APPLY", nullable = false, columnDefinition = "BIGINT(20) NOT NULL DEFAULT 0")
	protected Long transferTimesOfApply = 0L;

	@Column(name = "TRANSFER_TOTAL_APPLY", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double transferTotalOfApply = 0D;
	
	// ------ 转账通过 ------
	
	@Column(name = "TRANSFER_TIMES_RO", nullable = false, columnDefinition = "BIGINT(20) NOT NULL DEFAULT 0")
	protected Long transferTimesOfRollOut = 0L;

	@Column(name = "TRANSFER_TOTAL_RO", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double transferTotalOfRollOut = 0D;
	
	@Column(name = "TRANSFER_FEE_RO", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double transferFeeOfRollOut = 0D;
	
	@Column(name = "TRANSFER_TIMES_RI", nullable = false, columnDefinition = "BIGINT(20) NOT NULL DEFAULT 0")
	protected Long transferTimesOfRollIn = 0L;

	@Column(name = "TRANSFER_TOTAL_RI", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double transferTotalOfRollIn = 0D;
	
	@Column(name = "TRANSFER_FEE_RI", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double transferFeeOfRollIn = 0D;
	
	// ------ 转账拒绝 ------
	
	@Column(name = "TRANSFER_TIMES_REJECT", nullable = false, columnDefinition = "BIGINT(20) NOT NULL DEFAULT 0")
	protected Long transferTimesOfReject = 0L;

	@Column(name = "TRANSFER_TOTAL_REJECT", nullable = false, columnDefinition = "DOUBLE NOT NULL DEFAULT 0")
	protected Double transferTotalOfReject = 0D;
	
	public BaseStatistics() {}

	public Long getRechargeTimesOfPayment() {
		return rechargeTimesOfPayment;
	}

	public void setRechargeTimesOfPayment(Long rechargeTimesOfPayment) {
		this.rechargeTimesOfPayment = rechargeTimesOfPayment;
	}

	public Double getRechargeTotalOfPayment() {
		return rechargeTotalOfPayment;
	}

	public void setRechargeTotalOfPayment(Double rechargeTotalOfPayment) {
		this.rechargeTotalOfPayment = rechargeTotalOfPayment;
	}

	public Double getRechargeFeeOfPayment() {
		return rechargeFeeOfPayment;
	}

	public void setRechargeFeeOfPayment(Double rechargeFeeOfPayment) {
		this.rechargeFeeOfPayment = rechargeFeeOfPayment;
	}

	public Long getRechargeTimesOfTransfer() {
		return rechargeTimesOfTransfer;
	}

	public void setRechargeTimesOfTransfer(Long rechargeTimesOfTransfer) {
		this.rechargeTimesOfTransfer = rechargeTimesOfTransfer;
	}

	public Double getRechargeTotalOfTransfer() {
		return rechargeTotalOfTransfer;
	}

	public void setRechargeTotalOfTransfer(Double rechargeTotalOfTransfer) {
		this.rechargeTotalOfTransfer = rechargeTotalOfTransfer;
	}

	public Double getRechargeFeeOfTransfer() {
		return rechargeFeeOfTransfer;
	}

	public void setRechargeFeeOfTransfer(Double rechargeFeeOfTransfer) {
		this.rechargeFeeOfTransfer = rechargeFeeOfTransfer;
	}

	public Long getWithdrawTimesOfApply() {
		return withdrawTimesOfApply;
	}

	public void setWithdrawTimesOfApply(Long withdrawTimesOfApply) {
		this.withdrawTimesOfApply = withdrawTimesOfApply;
	}

	public Double getWithdrawTotalOfApply() {
		return withdrawTotalOfApply;
	}

	public void setWithdrawTotalOfApply(Double withdrawTotalOfApply) {
		this.withdrawTotalOfApply = withdrawTotalOfApply;
	}

	public Long getWithdrawTimesOfAccept() {
		return withdrawTimesOfAccept;
	}

	public void setWithdrawTimesOfAccept(Long withdrawTimesOfAccept) {
		this.withdrawTimesOfAccept = withdrawTimesOfAccept;
	}

	public Double getWithdrawTotalOfAccept() {
		return withdrawTotalOfAccept;
	}

	public void setWithdrawTotalOfAccept(Double withdrawTotalOfAccept) {
		this.withdrawTotalOfAccept = withdrawTotalOfAccept;
	}

	public Double getWithdrawFeeOfAccept() {
		return withdrawFeeOfAccept;
	}

	public void setWithdrawFeeOfAccept(Double withdrawFeeOfAccept) {
		this.withdrawFeeOfAccept = withdrawFeeOfAccept;
	}

	public Double getWithdrawBankFeeOfAccept() {
		return withdrawBankFeeOfAccept;
	}

	public void setWithdrawBankFeeOfAccept(Double withdrawBankFeeOfAccept) {
		this.withdrawBankFeeOfAccept = withdrawBankFeeOfAccept;
	}

	public Long getWithdrawTimesOfReject() {
		return withdrawTimesOfReject;
	}

	public void setWithdrawTimesOfReject(Long withdrawTimesOfReject) {
		this.withdrawTimesOfReject = withdrawTimesOfReject;
	}

	public Double getWithdrawTotalOfReject() {
		return withdrawTotalOfReject;
	}

	public void setWithdrawTotalOfReject(Double withdrawTotalOfReject) {
		this.withdrawTotalOfReject = withdrawTotalOfReject;
	}

	public Long getTransferTimesOfApply() {
		return transferTimesOfApply;
	}

	public void setTransferTimesOfApply(Long transferTimesOfApply) {
		this.transferTimesOfApply = transferTimesOfApply;
	}

	public Double getTransferTotalOfApply() {
		return transferTotalOfApply;
	}

	public void setTransferTotalOfApply(Double transferTotalOfApply) {
		this.transferTotalOfApply = transferTotalOfApply;
	}

	public Long getTransferTimesOfRollOut() {
		return transferTimesOfRollOut;
	}

	public void setTransferTimesOfRollOut(Long transferTimesOfRollOut) {
		this.transferTimesOfRollOut = transferTimesOfRollOut;
	}

	public Double getTransferTotalOfRollOut() {
		return transferTotalOfRollOut;
	}

	public void setTransferTotalOfRollOut(Double transferTotalOfRollOut) {
		this.transferTotalOfRollOut = transferTotalOfRollOut;
	}

	public Double getTransferFeeOfRollOut() {
		return transferFeeOfRollOut;
	}

	public void setTransferFeeOfRollOut(Double transferFeeOfRollOut) {
		this.transferFeeOfRollOut = transferFeeOfRollOut;
	}

	public Long getTransferTimesOfRollIn() {
		return transferTimesOfRollIn;
	}

	public void setTransferTimesOfRollIn(Long transferTimesOfRollIn) {
		this.transferTimesOfRollIn = transferTimesOfRollIn;
	}

	public Double getTransferTotalOfRollIn() {
		return transferTotalOfRollIn;
	}

	public void setTransferTotalOfRollIn(Double transferTotalOfRollIn) {
		this.transferTotalOfRollIn = transferTotalOfRollIn;
	}

	public Double getTransferFeeOfRollIn() {
		return transferFeeOfRollIn;
	}

	public void setTransferFeeOfRollIn(Double transferFeeOfRollIn) {
		this.transferFeeOfRollIn = transferFeeOfRollIn;
	}

	public Long getTransferTimesOfReject() {
		return transferTimesOfReject;
	}

	public void setTransferTimesOfReject(Long transferTimesOfReject) {
		this.transferTimesOfReject = transferTimesOfReject;
	}

	public Double getTransferTotalOfReject() {
		return transferTotalOfReject;
	}

	public void setTransferTotalOfReject(Double transferTotalOfReject) {
		this.transferTotalOfReject = transferTotalOfReject;
	}

	
}
